﻿#ifndef VIDEOWIDGET_H
#define VIDEOWIDGET_H

#include <QObject>
#include <QWidget>
#include <QHBoxLayout>
#include <QLabel>

//#include "Camera/MyCamera.h"
#include "Camera/cvcamera.h"
#include "ENUM/enum.h"
/*
 * 展示视频画面的组件
 */
class videoWidget : public QWidget
{
    Q_OBJECT
public:
    explicit videoWidget(QWidget *parent = nullptr);
private :
    CVCamera*       m_qcamera;               // opencv管理摄像头类
    QLabel*         m_videoLabel;            // 显示画面窗口
    QHBoxLayout*    m_layout;                // 该界面布局
signals:
public slots:
    /**
     @interpret     改变当前使用摄像头
     @param         index 所需要修改摄像头的索引
     @return        true-成功;false-失败;
     */
    bool slotChangeCamera(const QString&);
    //void flushCamera();
    /**
     @interpret 修改CVCamera类中的曝光时长
     @param value : 将要修改的数值
     @return 失败false; 成功true;
     */
    bool setCameraValue(signalKind kind, int value);

    /**
     @interpret   设置video背景色（用于设置白天与夜晚模式）
     @param       color: 背景需要设置成的颜色
     @return
     */
    void setBackGroundColor(const QColor& color);
};

#endif // VIDEOWIDGET_H
